1. Field of the Invention
This invention relates generally to software applications, and more particularly to the diagnosis and/or repair of hardware, software, or other problems that may prevent the proper operation of a software application.
2. Description of the Related Art
Software applications are typically developed and tested in controlled environments. However, software applications operate in the field in environments often different from the environments in which the software applications were developed. While a software application may be developed on a particular hardware platform, running a particular operating system with particular parameter settings, and with a particular group of other software applications on that platform, the software application will likely be used in a non-identical setting in the field. Even if an application is initially installed in an operational environment identical to its development environment, changes, such as updates, are likely to be made to the operating system and/or other software applications of the operational environment. Similarly, there may be changes to the hardware platform on which the software application is installed. Hardware changes may include replacement or failure of a component. One or more of the above changes may prevent the software application from operating as intended in the operational environment.
Similarly, if the software application is installed in an operational environment different from the application's development environment, then the software application might not operate as intended. The improper operation could be the result of missing hardware, missing software, incompatible hardware, or incompatible software. Even if the software application is installed in an environment identical to the development environment and no changes are made to the operating environment, it may be discovered at a later stage of development that an incompatibility exists between the software application and the environment, which prevents the proper operation of the software application.